/**
 * 1、世界是由对象组成的
 * 2、什么是对象？你能看的见的，摸得着的，客观存在的就是对象
 * 3、对象是有什么组成的
 *    属性：属性是表示对象特征的
 *    方法：表示对象行为的
 * 4、类：所谓的类一系列对象共同特征和行为的集合称为类
 * 5、如何使用类来造对象的？
 *    类：就是磨具，模子---->对象
 * 6、定义类
 *  class 类名{
 *     属性名:类型=初始值
 *     ...
 *     属性名n:类型=初始值
 *     方法名(参数:类型,参数2:类型):返回值类型|void{
 *         [return 返回值]
 *     }
 *  }
 * 7、对象的实例化
 *  关键字 对象名=new 构造方法
 * 8、对象赋值
 * 第1种赋值方式
 * 对象名.属性名=值
 * 第2种赋值方式
 * 使用构造函数的方式赋值
 */
class Dog{
   nickName:string|undefined; 
   health:number|undefined;
   love:number|undefined;
   color:string|undefined;
   constructor(nickName:string,color:string,health:number,love:number){
    this.nickName=nickName
    this.color=color
    this.health=health
    this.love=love
   }
   show():string{
    return `昵称:${this.nickName}\n颜色:${this.color}\n健康值:${this.health}\n亲密度${this.love}`
   }
}

const wangcai=new Dog("旺财","黑色",60,20)
// wangcai.nickName="旺财"
// wangcai.health=55
// wangcai.love=0
// wangcai.color="棕色"
console.log(wangcai.show());
